package com.woniuxy.userservice.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.userdao.model.UserInfo;
import com.woniuxy.usermodel.CoachListUserDto;
import com.woniuxy.usermodel.dto.*;
import com.woniuxy.usermodel.form.*;
import com.woniuxy.util.PageInfo;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author 冉杰
 * @since 2024-01-15
 */
public interface UserInfoService extends IService<UserInfo> {

    void userRegister(UserRegisterForm form);

    UserLoginDto userCodeLogin(UserPhoneLoginForm form);

    UserLoginDto userAccountLogin(UserAccountLoginForm form);

    void updateUserAvatar(MultipartFile updateFile, Integer userId) throws IOException;

    PageInfo<AdminListUserDto> adminListUsers(AdminListUserForm form);

    List<CoachListUserDto> coachListUser(CoachListUserForm form, Integer coachId);

    UserInfoDto findUserById(Integer userId);

    void updatePwd(UpdateUserPwdForm form, Integer userId);

    void disabledUser(Integer userId);

    void enableUser(Integer userId);

    List<VenueListUserDto> venueListUser(VenueListUserForm form, Integer venueId);

    void userLoginSendCode(String phone);

    void userRegisterSendCode(String phone);

    UserOauthDto userOauth(MultipartFile idCardFile, Integer userId) throws Exception;
}
